import {config} from "../../config";
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {

  },

  bindGetUserInfo:function (e) {
    let _this = this
    if (e.detail.userInfo) {
      wx.showLoading({
        title: '授权中...',
      })
      setTimeout(function () {
        _this.doLogin()
      }, 1000)
    } else {
      //用户按了拒绝按钮
      wx.showModal({
        title: '警告',
        content: '您点击了拒绝授权，将无法进入小程序，请授权之后再进入!!!',
        showCancel: false,
        confirmText: '返回授权',
        success: function(res) {
          if (res.confirm) {
            console.log('用户点击了“返回授权”')
          }
        }
      })
    }
  },

  // 登录动作
  doLogin: function (callback = () => {}) {
    let that = this;
    wx.login({
      success: function (loginRes) {
        if (loginRes.code) {

          wx.getUserInfo({

            withCredentials: true, // 非必填, 默认为true

            success: function (infoRes) {
              console.log(infoRes,'>>>')
              const user = infoRes.userInfo
              // 请求服务端的登录接口
              wx.request({
                url: config.api_blink_url+'/v/wx/login',
                method: 'POST',
                header: {
                  'content-type': 'application/x-www-form-urlencoded'
                },

                data: {
                  code: loginRes.code,                    // 临时登录凭证
                  avatarUrl: user.avatarUrl,
                  nickname: user.nickName,
                  gender: user.gender,
                },

                success: function (res) {
                  console.log('login success');
                  res = res.data;
                  console.log(res)
                  if (res.code == 0) {
                    let userInfo = res.data.userInfo
                    app.globalData.userInfo = userInfo;
                    wx.setStorageSync('userInfo', userInfo);
                    wx.setStorageSync('token', res.data.token);

                    //当前页面
                    let pages = getCurrentPages();
                    //上一页面
                    let prevPage = pages[pages.length - 2];
                    //将数值信息赋值给上一页面userInfo变量
                    prevPage.setData({
                      userInfo: userInfo
                    });
                    prevPage.onLoad(prevPage.options)
                    wx.navigateBack({
                      delta: 1
                    })
                    callback();
                  } else {
                    app.showInfo('调用接口失败');
                  }
                },

                fail: function (error) {
                  // 调用服务端登录接口失败
                  app.showInfo('调用接口失败');
                  console.log(error);
                }
              });
            },

            fail: function (error) {
              // 获取 userInfo 失败，去检查是否未开启权限
              wx.hideLoading();
              that.checkUserInfoPermission();
            }
          });

        } else {
          // 获取 code 失败
          app.showInfo('登录失败');
          console.log('调用wx.login获取code失败');
        }
      },

      fail: function (error) {
        // 调用 wx.login 接口失败
        app.showInfo('接口调用失败');
        console.log(error);
      }
    });
  },

  // 检查用户信息授权设置
  checkUserInfoPermission: function (callback = () => { }) {
    wx.getSetting({
      success: function (res) {
        if (!res.authSetting['scope.userInfo']) {
          wx.openSetting({
            success: function (authSetting) {
              console.log(authSetting)
            }
          });
        }
      },
      fail: function (error) {
        console.log(error);
      }
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})
